<?php
namespace app\index\model;

class Term extends Base
{
    /**
     * getInfo方法
     * @param $id 要获取的栏目ID
     * @result 格式化后的栏目信息
     */

    public function getInfo($id)
    {
        if(empty($id))
            return false;
        $result = $this->find($id);
        $result = $this->forJsonDecode($result, ['tags_value'=>'tag']);
        return $result;
    }

    /**
     * getAddress方法
     * @param $id 要获取的栏目ID
     * @result array 栏目的路径数组
     */

    public function getAddress($id)
    {
        if(empty($id))
            return false;
        $address = [];
        while($id!=0){
            $info = $this->getInfo($id);
            $address[$id]=$info; 
            $id = $info['parent_id'];
        }
        $address = array_reverse($address);
        return $address;
    }

    /**
     * 获取栏目的父栏目id
     * @param $id 要获取的栏目ID
     * @result int 栏目的父栏目ID
     */
    public function getParentId($id)
    {
        if(empty($id))
            return false;
        $result = $this->field('parent_id')->find($id);
        return $result['parent_id'];
    }

    /**
     * 获取栏目的model_id
     * @param $id 要获取的栏目ID
     * @result int 栏目的model_ID
     */
    public function getModelId($id)
    {
        if(empty($id))
            return false;
        $result = $this->field('model_id')->find($id);
        return $result['model_id'];
    }

    /**
     * getIdByFlag方法
     * @param $flag 要获取ID的栏目Flag
     * @result 对应栏目的ID
     */

    public function getIdByFlag($flag)
    {
        if(empty($flag))
            return false;
        $where['flag'] = $flag;
        $result = $this->field('id')->where($where)->find();
        return $result['id'];
    }

    //获取某栏目的子栏目
    public function getTermChild($parentId, $param=null)
    {
        if($param!==null)
            foreach($param as $key=>$value)
                $this->$key($value);
        $where['parent_id']=$parentId;
        $data = $this->where($where)->order('listorder asc')->select();
        return $data;
    }
}

